﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;

namespace Echegoyen.Models
{
    [Table("Prestamos")]
    public class Prestamo
    {
        public Prestamo()
        {    
        }

        public Prestamo(int id, Usuario socio, Ejemplar ejemplar, DateTime fecha) {

            this.PrestamoId = id;
            this.Usuario = socio;
            this.Ejemplar = ejemplar;
            this.Fecha = fecha;
            this.Estado = "Asignado";
        }

        public int PrestamoId { get; set; }

        public int UsuarioId { get; set; }
        public virtual Usuario Usuario { get; set; }
        public int EjemplarId { get; set; }
        public virtual Ejemplar Ejemplar { get; set; }

        public string Estado { get; set; }
        public DateTime Fecha { get; set; }
        public DateTime? Vencimiento { get; set; }
        public int CantDias { get; set; }

        public void Despachar() {
            this.Estado = "Despachado";
            this.Fecha = DateTime.Now;
            this.Vencimiento = DateTime.Now.AddDays(CantDias);
        }

        public void Devolver() {
            this.Estado = "Finalizado";
            this.Fecha = DateTime.Now;
        }

        public void Anular() {
            this.Estado = "Anulado";
            this.Fecha = DateTime.Now;
        }

    }
}
